#define _CRT_SECURE_NO_WARNINGS 1

#include "Seqlist.h"

void Test01(void)
{
	SL sl;
	SLInit(&sl);
	SLPushBack(&sl, 1);
	SLPushBack(&sl, 2);
	SLPushBack(&sl, 3);
	SLPushBack(&sl, 4);
	SLPushFront(&sl, 5);
	SLPushFront(&sl, 6);
	SLPrint(&sl);


	SLDestroy(&sl);
	
}

void Test02(void)
{
	SL sl;
	SLInit(&sl);
	SLPushBack(&sl, 1);
	SLPushBack(&sl, 2);
	SLPushBack(&sl, 3);
	SLPushBack(&sl, 4);
	SLPushFront(&sl, 5);
	SLPushFront(&sl, 6);
	SLPrint(&sl);

	SLPopBack(&sl);
	SLPopFront(&sl);
	SLPopFront(&sl);
	SLPopFront(&sl);
	//SLPopFront(&sl);
	//SLPopFront(&sl);
	//SLPopFront(&sl);
	
	SLPopBack(&sl);
	SLPrint(&sl);

	SLDestroy(&sl);

}

void Test03(void)
{
	SL sl;
	SLInit(&sl);
	SLPushBack(&sl, 1);
	SLPushBack(&sl, 2);
	SLPushBack(&sl, 3);
	SLPushBack(&sl, 4);
	SLPushFront(&sl, 5);
	SLPushFront(&sl, 6);
	SLPrint(&sl);

	SLInsert(&sl, 10, 0);
	SLInsert(&sl, 10, sl.size);
	SLInsert(&sl, 10, 3);
	SLPrint(&sl);

	SLDestroy(&sl);

}

void Test04(void)
{
	SL sl;
	SLInit(&sl);
	SLPushBack(&sl, 1);
	SLPushBack(&sl, 2);
	SLPushBack(&sl, 3);
	SLPushBack(&sl, 4);
	SLPushFront(&sl, 5);
	SLPushFront(&sl, 6);
	SLPrint(&sl);

	SLInsert(&sl, 10, 0);
	SLInsert(&sl, 10, sl.size);
	SLInsert(&sl, 10, 3);
	SLPrint(&sl);

	SLErase(&sl, 0);
	SLErase(&sl, sl.size-1);
	SLErase(&sl, 2);
	SLModify(&sl, 0, 7);
	SLPrint(&sl);

	SLDestroy(&sl);

}

int main()
{
	Test04();

	return 0;
}